package file;

import java.io.File;
import java.io.FileFilter;

/**
 * 有条件的获取一个目录中的子项
 *
 * 重载的方法:
 * File[] listFiles(FileFilter filter)
 * 将当前File对象表示的目录中所有满足filter过滤条件的子项返回
 */
public class ListFilesDemo2 {
    public static void main(String[] args) {
        File dir = new File(".");
        if(dir.isDirectory()){
//            FileFilter filter = new FileFilter() {
//                //过滤条件为:名字中含有"e"的
//                public boolean accept(File file) {
//                    String name = file.getName();//获取经过该过滤的元素的名字
//                    return name.contains("e");
//                }
//            };


            //FileFilter可以使用lambda表达式创建
            File[] subs = dir.listFiles(f->f.getName().contains("e"));

            System.out.println(subs.length);
            for(File sub : subs){
                System.out.println(sub.getName());
            }
        }


    }
}
